Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Propagate new backend changes through poseidon377 #53

Merged
merged 54 commits into from
Apr 4, 2024

Conversation

redshiftzero
Copy link
Member

@redshiftzero redshiftzero commented Feb 5, 2024

Work towards #3675

One of the changes that will need to happen here to propagate the backend changes through poseidon377 is making decaf377 a dependency of poseidon-parameters and poseidon-permutation instead of ark-ff (previously these two crates were generic over ark_ff::PrimeField)

TODO

  • Propagate changes through poseidon-parameters - this compiles now on the target platform, all tests pass
  • Propagate changes through poseidon-paramgen (i.e. make it use the latest poseidon-parameters) - may do this in a followup, it's not included currently as a build time dependency in favor of using the hardcoded existing parameter set, filed followup restore poseidon-paramgen #58
  • Propagate changes through poseidon-permutation - this compiles now on the target platform, all tests pass
  • Propagate changes through poseidon377 - this compiles now on the target platform, all tests pass
  • Merge upstream changes (changes to Fq) into decaf377: preparing here add power impl and expose Fq::from_montgomery_limbs decaf377#98
  • Release decaf377 (released: https://crates.io/crates/decaf377/0.9.0) and use latest release here

Followups

  1. Once generic_const_exprs is stabilized, these crates can be simplified significantly, e.g. the structs with parameters STATE_SIZE and STATE_SIZE_MINUS_1 can be STATE_SIZE, STATE_SIZE - 1. Similarly, NUM_ELEMENTS can be removed in favor of computing NUM_ROWS * NUM_COLS - filed as cleanup crates when rust generic_const_exprs is stabilized #57
  2. Followup to restore poseidon-paramgen - restore poseidon-paramgen #58

Test Plan

We're testing each package builds in the target environment via:

cargo build --package $PACKAGE --no-default-features --target thumbv8m.main-none-eabi

@redshiftzero redshiftzero changed the title wip: propagate new backend changes through poseidon377 Propagate new backend changes through poseidon377 Apr 4, 2024
@redshiftzero redshiftzero marked this pull request as ready for review April 4, 2024 19:30
@redshiftzero redshiftzero merged commit df7aa3d into main Apr 4, 2024
5 checks passed
@redshiftzero redshiftzero deleted the non-arkworks-feat branch April 4, 2024 19:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant